#include "PushAbility.h"

unsigned int PushAbility::id = 0;

PushAbility::PushAbility(Pushable* receiver): pusher(receiver)
{
	InitializeId(&id);
}

PushAbility::PushAbility(): pusher(0)
{
	InitializeId(&id);
}

PushAbility::PushAbility(const PushAbility& rhs): pusher(rhs.pusher)
{

}

PushAbility::~PushAbility()
{
}


unsigned int PushAbility::Id()
{
	return id;
}

void PushAbility::Activate()
{ 
	if (pusher) 
		pusher->Push();
}

GameAbility* PushAbility::Clone() const
{
	return new PushAbility(*this);
}
